home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / dev / lang / PPCsmalltalk.lha / PPCSmallTalk / examples / prime3.st < prev    next >
Text File  |  1986-10-19  |  533b  |  30 lines

  1. Class Main
  2. [
  3.     main    | x gen |
  4.         gen <- Primes new.
  5.         (smalltalk time: [
  6.         x <- gen first.
  7.         [x < 300]
  8.             whileTrue: [ x print. x <- gen next] ]) print
  9. ]
  10. Class Primes
  11. | prevPrimes lastPrime |
  12. [
  13.     first
  14.         prevPrimes <- LinkedList new.
  15.         prevPrimes add: (lastPrime <- 2).
  16.         ^ lastPrime
  17. |
  18.     next
  19.         [lastPrime <- lastPrime + 1.
  20.          self testNumber: lastPrime]
  21.             whileFalse.
  22.         prevPrimes addLast: lastPrime.
  23.         ^ lastPrime
  24. |
  25.     testNumber: n
  26.         prevPrimes do: [:x | 
  27.             (x squared > n) ifTrue: [ ^ true ].
  28.             (n \\ x = 0) ifTrue: [ ^ false ] ]
  29. ]
  30.